'''
安装：pip install requests
导入：import requests
常用发送请求的方法：
    requests.request()：构造一个请求，最基本的方法，是下面方法的支撑
    requests.get()：获取网页，对应 HTTP 中的 GET 方法
    requests.post()：向网页提交信息，对应 HTTP 中的 POST 方法
    requests.put()：向 html 提交 put 方法，对应 HTTP 中的 PUT 方法
    requests.patch()：向 html 网页提交局部请求修改的的请求，对应 HTTP 中的 PATCH 方法
    requests.delete()：向 html 提交删除请求，对应 HTTP 中的 DELETE 方法
'''
import requests
import re  # 正则表达式

# request()
base_url = r'http://httpbin.org/'
url = base_url + 'get'
resp = requests.request('GET', url)
print(resp.status_code)
# print(resp.text)

# get()
resp = requests.get(url)
print(resp.status_code)
# print(resp.text)

# post()
url = base_url + 'post'
resp = requests.post(url)
print(resp.status_code)

# put()
url = base_url + 'put'
resp = requests.put(url)
print(resp.status_code)

# patch()
url = base_url + 'patch'
resp = requests.patch(url)
print(resp.status_code)

# delete()
url = base_url + 'delete'
resp = requests.delete(url)
print(resp.status_code)

# 案例1：访问 ASMS 首页
# 构造 url
url = r'http://localhost:8080/bsams/front/login.do'
# 发送请求
resp = requests.get(url)
# 获取响应
patt = r'<title>(.*?)</title>'
title = re.findall(patt, resp.text)
print(title)

# 案例2：访问 百度 首页
url = r'https://www.baidu.com/'
resp = requests.get(url)
print(resp.encoding)
resp.encoding = 'utf-8'  # 响应乱码，可以尝试将响应编码设置为 utf-8
patt = r'<title>(.*?)</title>'
title = re.findall(patt, resp.text)
print(title)

# 案例3：访问 豆瓣电影 首页 - 报错 418（需要添加请求头）
url = r'https://movie.douban.com/'
try:
    resp = requests.get(url)
    print(resp.text)
    print(resp.status_code)
except Exception as e:
    print(e)
